/*点击查看详情*/
function scan(item){
	$.get(serverURL + "ads/get", {"id" : item}, function(data) {
		if (data.code == 0) {
			data = data.data;
			$("#external").val(data.externalUrl);
			$("#asd_id").val(data.id);
			$("#ads_scan").attr("src",data.picUrl);
			$("#modal_scan").modal("show");
		} else {
			alert("广告信息加载失败");
		}
	});
}
var pics1  = "";
function closeForm(item){
//	$("#"+item).attr("checked",false);
}
$(function() {
	var $tabList = $("#tab_list"), $pagebar = $("#pagebar ul"), $pageInfo = $("#page_info"), pageNo = 1, pageSize = 10, count = 0;// 初始值
	/** ---------------封装分页方法,count:总条目数,pageNo:当前页--------------- */
	function pageit(count) {
		$pagebar.empty();
		// 首页和上一页
		if (pageNo == 1) {
			$pagebar.append("<li id='start_page' class='disabled'><a href='javascript:void(0);'>首页</a></li>");
			$pagebar.append("<li id='prev_page'  class='disabled'><a href='javascript:void(0);'>上一页</a></li>");
		} else {
			$pagebar.append("<li id='start_page' pn=1><a href='javascript:void(0);'>首页</a></li>");
			$pagebar.append("<li id='prev_page' pn=" + (pageNo - 1)+ "><a href='javascript:void(0);'>上一页</a></li>");
		}
		var tmp = parseInt(count / 10);
		var page_size = count % 10 == 0 ? (tmp) : (tmp + 1);// 总页数
		// 中间数字页
		if (page_size <= 5) {
			// 如果小于5页,则全部显示
			for ( var i = 0; i < page_size; i++) {
				if (i == pageNo - 1) {
					$pagebar.append("<li pn=" + (i + 1)+ " class='active'><a href='javascript:void(0);'>"+ (i + 1) + "</a></li>");
				} else {
					$pagebar.append("<li pn=" + (i + 1)+ "><a href='javascript:void(0);'>" + (i + 1)+ "</a></li>");
				}
			}
		} else {
			// 如果总页数大于5页,显示当前页和前后各两页以及两个...符号
			if (pageNo < 3) {
				for ( var i = 0; i < 5; i++) {
					if (i == pageNo - 1) {
						$pagebar.append("<li pn="+ (i + 1)+ " class='active'><a href='javascript:void(0);'>"+ (i + 1) + "</a></li>");
					} else {
						$pagebar.append("<li pn=" + (i + 1)+ "><a href='javascript:void(0);'>" + (i + 1)+ "</a></li>");
					}
				}
				$pagebar.append("<li class='disabled'><a href='javascript:void(0);'>...</a></li>");
			} else if (pageNo > page_size - 2) {
				$pagebar.append("<li class='disabled'><a href='javascript:void(0);'>...</a></li>");
				for ( var i = page_size - 5; i < page_size; i++) {
					if (i == pageNo - 1) {
						$pagebar.append("<li pn="+ (i + 1)+ " class='active'><a href='javascript:void(0);'>"+ (i + 1) + "</a></li>");
					} else {
						$pagebar.append("<li pn=" + (i + 1)+ "><a href='javascript:void(0);'>" + (i + 1)+ "</a></li>");
					}
				}
			} else {
				for ( var i = pageNo - 3; i < pageNo + 2; i++) {
					if (i == pageNo - 1) {
						$pagebar.append("<li pn="+ (pageNo)+ " class='active'><a href='javascript:void(0);'>"+ (i + 1) + "</a></li>");
					} else {
						$pagebar.append("<li pn=" + (i + 1)+ "><a href='javascript:void(0);'>" + (i + 1)+ "</a></li>");
					}
				}
			}
		}
		// 下一页和末页
		if (page_size == 0 || pageNo == page_size) {
			$pagebar.append("<li id='next_page' class='disabled'><a href='javascript:void(0);'>下一页</a></li>");
			$pagebar.append("<li id='end_page' class='disabled'><a href='javascript:void(0);'>末页</a></li>");
		} else {
			$pagebar.append("<li id='next_page' pn=" + (pageNo + 1)+ "><a href='javascript:void(0);'>下一页</a></li>");
			$pagebar.append("<li id='end_page' pn=" + page_size + "><a href='javascript:void(0);'>末页</a></li>");
		}

		// 绑定事件
		$pagebar.find("li").not(".disabled").on("click", function() {
			pageNo = parseInt($(this).attr("pn"));// 更新当前页码
			reloadList();
		});
		// 分页信息条
		$pageInfo.find("span").each(function(i, k) {
			if (i == 0) {
				if (page_size == 0) {
					$(k).html(0);
				} else {
					$(k).html((pageNo - 1) * 10 + 1);
				}
			} else if (i == 1) {
				$(k).html(count > pageNo * 10 ? pageNo * 10 : count);
			} else {
				$(k).html(count);
			}
		});
	}

	/** ------------------加载列表--------------------- */
	var params = {
		"pageNo" : 1,
		"pageSize" : pageSize,
		"type" : null,
	};
	function reloadList() {
		params.pageNo = pageNo;
		params.pageSize = pageSize;
		params.type = null;
		$.get(serverURL + "ads/list",params,function(data) {
			try {
				if (data.code == 0) {
					data = data.data;
					$tabList.find("tbody").empty();
					count = data.pagination.totalCount;
					if (count > 0) {
						var html = "";
						var id= "";
						$.each(data.list,function(i, k) {
						html += "<tr ondblclick= \"scan('"+k.id+"')\" onmouseover=\"$(this).addClass('house')\">"
								+ "<td id='pkc'><input type='checkbox' id='"+ k.id+ "' name='"+ k.id+ "' class='checkbox' col='"+ i+ "'></td>"
								+ "<td>"+ ((pageNo - 1)* 10+ i + 1)+ "</td>"
								+ "<td>"+ (k.picUrl ? ("<a href='"+ k.picUrl+ "' target='_blank'><img style='width:50px;height:30px;' src='"+ k.picUrl + "'/></a>"): "无")+ "</td>"
								+ "<td><a href='"+ k.externalUrl+ "' target='_blank' ><div style='width:500px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;'>"+ k.externalUrl+ "</div></a></td>"								
								+ "</tr>";
					});
						$tabList.find("tbody").append(html);
					} else {
						$tabList.find("tbody").append("<tr><td colspan="+ $("thead th").length+ ">无数据</td></tr>");
					}
					pageit(count);// 重绘工具栏
				}else if(data.code!=-1){
					alert("数据加载出错，请稍后重试");
				}
			} catch (e) {
				alert("数据加载出错，请稍后重试" + e);
			}
		});
	}
	reloadList();
	// 全选与取消全选
	$("#pkall").change(function() {
		if ($(this).prop("checked")) {
			$tabList.find("#pkc :checkbox").prop("checked", true);
		} else {
			$tabList.find("#pkc :checkbox").prop("checked", false);
		}
	});
	// 获取选中的行
	function getSelectedCols() {
		return $tabList.find("#pkc :checkbox").filter(":checked");
	}
	/** ---------------新增----------------- */
	var $formAdd = $("#form_add"), $external_url = $formAdd.find("[name=external_url]"), $logo = $("#form_add2 input:file"), $logoScan = $("#logo_scan");
	function scanLogo(url) {
		$logoScan.parent().parent().parent().show();
		$logoScan.attr("src", url).parent("a").attr("href", url);
	}
	function hideLogo() {
		$logoScan.attr("src", "").parent("a").attr("href", "");
		;
		$logoScan.parent().parent().parent().hide();
	}
	// 上传文件
	var imgReg = /^.+\.(jpg|png|bmp|gif)$/;
	$logo.change(function() {
		if (!imgReg.test($logo.val())) {
			warnInput($logo);
			return false;
		}
		$("#form_add2").ajaxSubmit({
			dataType : 'json',
			resetForm : true,
			success : function(data) {
				if (data.code == 0) {
					scanLogo(data.data);
				} else {
					alert("图片上传失败，请重试");
					$("#form_add2").get(0).reset();
				}
			}
		});
	});
	// 表单验证
	function checkAddForm() {
		if (!$external_url.val()) {
			warnInput($external_url);
			return false;
		}
		var urlReg = new RegExp(/(?:http|ftp|rtsp|rtsp|igmp|file|rtspt|rtspu)?:?\/?\/?[0-9a-zA-Z]/);
		if (!$external_url.val().match(urlReg)) {
			alert("广告链接的格式不正确");
			return false;
		}
        
		if($external_url.val().length>400){
			alert("广告链接的字符长度不符合要求！");
			return false;
		}
		
		if (!$logoScan.attr("src")) {
			warnInput($logo);
			return false;
		}
		return true;
	}
	$("#btn_confirm_add").click(function() {
		if (checkAddForm()) {
			var external_url = $external_url.val();
			if (external_url.indexOf("http://") == -1) {
				external_url = "http://" + external_url;
			}
			$.post(serverURL + "ads/add", {"externalUrl" : external_url,'type' : 'banner',"picUrl" : $logoScan.attr("src")}, function(data) {
				if (data.code == 0) {
					alert("添加成功");
					hideLogo();
					$("#modal_add").modal("hide");
					$formAdd.get(0).reset();
					reloadList();
				}else if(data.code!=-1){
					alert("添加失败,请稍后重试");
				}
			});
		}
	});
	/** ---------------删除----------------- */
	$("#btn_del").click(function() {
		// 获取选中的行
		var $curCol = $tabList.find("#pkc :checkbox").filter(":checked");
		if ($curCol.length == 0) {
			alert("请至少选择一条记录删除");
			return;
		}
        if (!confirm("确认要删除么？")) {
            return false;
        }
		var id = "";
		$.each($curCol,function(i, k) {
            	id +=k.id+",";
		});
		id = id.substring(0, id.lastIndexOf(","));

		$.post(serverURL + "ads/delete", {"id" : id}, function(data) {
			if (data.code == 0) {
				alert("广告信息删除成功 !");
				reloadList();
			}else if(data.code!=-1){
				alert("广告信息删除失败");
			}
		});

	});

	/*
	 * ---------------查询----------------- 
	  $("#btn_search").click(function(){
	  	params.name=$("#search_name").val();
	  	params.disease=$("#search_disease").val(); reloadList(); return false;
	  });
	  
	   ---------------重置-----------------
	    $("#btn_reset").click(function(){
	 	$("#form_search").get(0).reset(); return false; });
	 */
	/** ---------------刷新----------------- */
	$("#btn_refresh").click(function() {
		// 获取选中的行
		var $curCol = $tabList.find("#pkc :checkbox").filter(":checked");
		if ($curCol.length != 1) {
			alert("请选择一条记录置顶");
			return;
		}
		var id = $curCol[0].id;
		$.post(serverURL + "ads/refresh", {"id" : id}, function(data) {
			if (data.code == 0) {
				alert("广告置顶成功 !");
				reloadList();
			}else if(data.code!=-1){
				alert("广告置顶失败");
			}
		});
	});

	/** ------------------详情--------------------- */
	$("#btn_scan").click(function() {
		$.get(serverURL + "ads/adsPicture",function(data) {
			try {
				if (data.code == 0) {
					data = data.data;
					var list="";
					if (count > 0) {
						$.each(data,function(i, k) {
							list +=" <div style='float:left;'><a href='"+k.picUrl+"' target='_blank' title='"+k.externalUrl+"'><img src='"+k.picUrl+"' width='150' height='150' style='border:1px solid #ccc;margin-left:5px;'></a> </div>";
						});
						$("#modal_lunbo .modal-body").html(list);
						$("#modal_lunbo").modal("show");
					} else {
						$("#modal_lunbo .modal-body").html("<div>无数据</div>");
						$("#modal_lunbo").modal("show");
					}					
				}else if(data.code!=-1){
					alert("数据加载出错，请稍后重试");
				}
			} catch (e) {
				alert("数据加载出错，请稍后重试" + e);
			}
		});
	});

	/** -------------修改广告信息----------------- */
	var $formEdit = $("#form_edit"), $editId = $formEdit.find("[name=id]"), $external_url_edit = $formEdit.find("[name=external_url_edit]");
	$logo2 = $("#form_edit2 input:file"), $logoScan2 = $("#logo_scan2");
	function scanLogo2(url) {
		if (url) {
			$logoScan2.parent().parent().parent().show();
			$logoScan2.attr("src", url).parent("a").attr("href", url);
		}
	}
	function hideLogo2() {
		$logoScan2.attr("src", "").parent("a").attr("href", "");
		$logoScan2.parent().parent().parent().hide();
	}
	// 上传文件
	$logo2.change(function() {
		if (!imgReg.test($logo2.val())) {
			warnInput($logo2);
			return false;
		}
		$("#form_edit2").ajaxSubmit({
			dataType : 'json',
			resetForm : true,
			success : function(data) {
				if (data.code == 0) {
					scanLogo2(data.data);
				}else if(data.code!=-1){
					$("#form_edit2").get(0).reset();
					alert("图片上传失败，请重试");
				}
			}
		});
	});
	function checkEditForm() {
		if (!$external_url_edit.val()) {
			warnInput($external_url_edit);
			return false;
		}
		var urlReg2 = new RegExp(/(?:http|ftp|rtsp|rtsp|igmp|file|rtspt|rtspu)?:?\/?\/?[0-9a-zA-Z]/);
		if (!$external_url_edit.val().match(urlReg2)) {
			alert("广告链接的格式不正确");
			return false;
		}

		if (!$logoScan2.attr("src")) {
			warnInput($logo2);
			return false;
		}
		return true;
	}

	$("#btn_edit").click(function() {
		// 获取选中的行
		var $curCol = $tabList.find("#pkc :checkbox").filter(":checked");
		if ($curCol.length != 1) {
			alert("请选择一条修改记录");
			return;
		}
		var id = $curCol[0].id;
		// 给隐藏域id赋值
		$("#edit_id").val(id);
		$.get(serverURL + "ads/get", {"id" : id}, function(data) {
			if (data.code == 0) {
				data = data.data;
				$external_url_edit.val(data.externalUrl);
				scanLogo2(data.picUrl);
				$("#modal_edit").modal("show");
			}else if(data.code!=-1){
				alert("广告信息加载失败");
			}
		});
	});

	$("#btn_confirm_edit").click(function() {
		// 表单验证
		if (checkEditForm()) {
			var external_url = $external_url_edit.val();
			if (external_url.indexOf("http://") == -1) {
				external_url = "http://" + external_url;
			}
			$.post(serverURL + "ads/modify", {"id" : $editId.val(),'type' : '',"picUrl" : $logoScan2.attr("src"),"externalUrl" : external_url}, function(data) {
				if (data.code == 0) {
					alert("修改成功");
					$('#modal_edit').modal('hide');
					$formEdit.get(0).reset();
					reloadList();
				}else if(data.code!=-1){
					alert("添加失败,请稍后重试");
				}
			});
		}
	});
	$("#preview_ok").click(function(){
		closeForm($('#asd_id').val());
	});
	$("#preview_cancel").click(function(){
		closeForm($('#asd_id').val());
	});
	$("#preview_close").click(function(){
		closeForm($('#asd_id').val());
	});
});